package com.ccys.db.entity;

import com.ccys.db.rely.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* Created by Mybatis Generator on 2024/03/05
*/
@Data
@ApiModel("支付相关记录")
@Table(name = "tbl_booking_payment_log")
@NoArgsConstructor
@AllArgsConstructor
public class TblBookingPaymentLog extends BaseEntity {
    @Column(name = "booking_id")
    private String bookingId;

    /**
     * tbl_booking_payment的id，目前应该只会存储在cms上consultation详情中添加payment时的关联记录
     */
    @Column(name = "payment_id")
    private String paymentId;

    /**
     * 支付类型:1支付成功 2支付失败 3退款(由定时任务执行添加tbl_booking_payment_voided时添加)
     */
    @Column(name = "payment_type")
    @ApiModelProperty("支付类型:1支付成功 2支付失败 3退款(由定时任务执行添加tbl_booking_payment_voided时添加)")
    private Integer paymentType;

    @Column(name = "req_card_number")
    private String reqCardNumber;

    @Column(name = "auth_trans_ref_no")
    private String authTransRefNo;

    @Column(name = "req_card_expiry_date")
    private String reqCardExpiryDate;

    @Column(name = "auth_amount")
    private String authAmount;

    @Column(name = "auth_response")
    private String authResponse;

    @Column(name = "bill_trans_ref_no")
    private String billTransRefNo;

    @Column(name = "req_payment_method")
    private String reqPaymentMethod;

    @Column(name = "auth_time")
    private String authTime;

    @Column(name = "req_amount")
    private String reqAmount;

    @Column(name = "transaction_id")
    private String transactionId;

    @Column(name = "req_currency")
    private String reqCurrency;

    @Column(name = "req_card_type")
    private String reqCardType;

    private String decision;

    private String message;

    @Column(name = "req_transaction_uuid")
    private String reqTransactionUuid;

    @Column(name = "req_transaction_type")
    private String reqTransactionType;

    @Column(name = "raw_response")
    private String rawResponse;
}